#!/usr/bin/env python
# -*- coding:utf-8 -*-

# file:do_one_decorator.py
# author:张世航
# datetime:2024/11/12 23:25
# software: PyCharm
"""
随堂练习
请设计一个decorator，它可作用于任何函数上，并打印该函数的执行时间：
"""
# import module your need

import time

def time_it(func):
    """
    装饰器，打印函数的执行时间

    :param func: 被装饰的函数
    :return: 装饰后的函数
    """
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"{func.__name__} 执行时间: {end_time - start_time:.6f} 秒")
        return result
    return wrapper

# 测试
@time_it
def example_function():
    time.sleep(2)
    print("函数执行完毕")

example_function()  # 输出: 函数执行完毕，然后输出执行时间